home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Saar AMOK 2
/
Saar AMOK II - Oktober 1994 (1994)(Kreativ Marketing)(DE)[!][I-7598].iso
/
disks
/
amok
/
amok_099
/
oberonprefs
/
oberonprefs.dok
< prev
next >
Wrap
Text File
|
1993-10-20
|
39KB
|
924 lines
------------------------------------------------
OberonPrefs 2.0 (8.10.93) © F.Schwarz - Giftware
------------------------------------------------
Voreinsteller-Programm für Amiga-Oberon
© 1993 & geschrieben von
Franz Schwarz
Mühlenstraße 2, D-78591 Durchhausen,
BR Deutschland
Uucp: Franz_Schwarz@mil.ka.sub.org
Fido: 2:2476/506.18 & 2:241/7506.18
GUI erstellt mit Hilfe von GadToolsBox 37.176
OberonPrefs ist Giftware; d.h. Sie werden ermuntert,
dem Autor ein kleines Geschenk, Geld, eine Postkarte,
o.ä. zu schicken, falls Sie das Programm verwenden.
Aus dem Inhalt
--------------
Überblick über das Konzept von OberonPrefs
Inhalt des autorisierten Archivs
Installationshinweise
Die interaktive grafische Benutzerschnittstelle
-Gadgets
-Menüs
-Piktogramm-Ziehen ins Fenster
Kommandozeilen- und ToolTypes-Argumente
-Die Argument-Schablone
-Die Argumente im einzelnen
-Benutzerdefinierbare interaktive
Argument-Abfrage beim WB-Start
Programmende & Rückgabewerte
Allgemeine Hinweise zum Programm
Vermeiden des Veränderns des Quelltextes
d.h. Anlegen/Ändern der OPREFS-Kopfzeile
Entwicklungsgeschichte
Schlußbemerkungen
Adresse des Autors
Credits, Danksagungen
Die CygnusEd-ARexx-Skripte
Überblick über das Konzept von OberonPrefs
------------------------------------------
OberonPrefs ist die Ergänzung zum Amiga-Oberon-System, auf die Sie bestimmt
schon lange gewartet haben: Ein äußerst flexibles, universelles,
intuitives Voreinsteller-Programm (Preferences-Editor), das neben einer
komfortablen grafischen Benutzeroberfläche auch eine durchdachte
Shell-Schnittstelle (die im übrigen im vollen Umfang auch über
Workbench-ToolTypes erreicht werden kann) und die Anpassung an
verschiedene Landessprachen in Verbindung mit Commodore's locale.library ab
Workbench 2.1 aufwärts bietet.
Exkurs: Wie das Amiga-Oberon-System die Optionen einließt:
Da im Handbuch nur unvollständig wiedergegeben wird, wie Amiga-Oberon/
-OLink/ -OMake die aktuellen Compiler-/ Linker-Optionen bestimmen, hier
die genaue Vorgehensweise:
Zuerst werden die Programm-internen vorgegegebenen ('default') Optionen
herangezogen.
Diese Optionen werden durch eventuell in der Kommandozeile
spezifizierten Optionen -respektive durch die Workbench-ToolTypes des
aufgerufenen Werkzeugs (Oberon, OLink, OMake)- überschrieben.
Danach ersetzen Optionen aus den möglicherweise vorhandenen
Voreinstellungsdateien Oberon.prefs und und OLink.prefs im Verzeichnis des
zu bearbeitenden Projektes die bisherigen Optionen.
Schließlich, falls die jeweilige Voreinstellungsdatei Oberon.prefs bzw.
OLink.prefs im Verzeichnis des zu bearbeitenden Projekts nicht gefunden
wurde, diese Voreinstellungsdatei jedoch im globalen Verzeichnis OBERON:
zu finden ist, treten die Optionen aus dieser Datei an Stelle der
bisherigen Optionen.
Um nun auf die unterschiedlichen Vorlieben und Konfigurationen der Anwender
des Amiga-Oberon-Systems eingehen zu können, besitzt OberonPrefs die
Möglichkeit, die Art, wie es die Optionen einließt und schreibt,
weitestgehend dem Benutzer zu überlassen. Diese Einstellungen können
selbstverständlich über Kommandozeilen-/ ToolTypes-Parameter angegeben
werden, als auch als globale Einstellungen gespeichert und im interaktiven
Modus geändert werden.
OberonPrefs kennt grundsätzlich zwei verschiedene Betriebsmodi: einen
globalen Modus, in dem die globalen Voreinstellungen verändert werden, und
einen Projekt-Modus, in dem die Voreinstellungen der verschiedenen Projekte
und / oder einzelnen Oberon-Quelltext-Module verändert werden.
Selbstverständlich besteht dabei die Möglichkeit des gegenseitigen Imports
bzw. Exports der Voreinstellungen zwischen diesen Modi.
OberonPrefs bietet die Möglichkeit, alle gegenwärtig (Amiga-Oberon 3.00)
bekannten Compiler- und Linker-Optionen zu manipulieren - im Projektmodus
auch diejenigen, die nur im Oberon-Quelltext-Modul angegeben werden können,
aber gewöhnlich für ein ganzes Modul gelten (CodeChip, VarsChip, DataChip,
Implementation).
Da die Benutzerschnittstellen (Interaktive grafische Schnittstelle,
Kommandozeilen-Schnittstelle und Workbench-ToolTypes-Schnittstelle) von
OberonPrefs so gestaltet wurden, daß sie den Richtlinien aus dem 'Amiga
User Interface Style Guide' für Voreinsteller-Programme weitestmöglich
entsprechen, sollte die Bedienung für den mit Amiga-Voreinsteller-
Programmen (z.B. denjenigen, die zum Lieferumfang des Betriebssystems
im Verzeichnis System:Prefs gehören) vertrauten Benutzer ziemlich intuitiv
sein. Unbekannt an der interaktiven grafischen Benutzerschnittstelle
dürften jedoch das Konzept der zwei Operations-Modi (Global / Projekt) und
die vielfältigen Einstellungsmöglichkeiten im Einstellungen-Menü sein. Die
Kommandozeilen-/ ToolTypes-Schnittstelle wurde so erweitert, daß eine
möglichst vielfältige und flexible Verwendung von OberonPrefs in
Stapelverarbeitungsdateien und ARexx-Skripten möglich ist.
Inhalt des autorisierten Archivs:
---------------------------------
s (dir)
RexxCommands RexxCommands.info
txt (dir)
GetFile.mod GetFile.mod.info
OberonPrefs.cd OberonPrefs.cd.info
OberonPrefs.mod OberonPrefs.mod.info
OberonPrefsStrings.mod OberonPrefsStrings.mod.info
OberonPrefs_d.ct OberonPrefs_d.ct.info
sym (dir)
obj (dir)
bases.o boopsi.o
Catalogs (dir)
deutsch (dir)
blackmagic.catalog oberonprefs.catalog
Rexx (dir)
OCmd.ced OCmd.ced.info
OErr.ced OErr.ced.info
OOptions.ced OOptions.ced.info
Catalogs.info InstallOberonPrefs
InstallOberonPrefs.info Oberon.Prefs
OberonPrefs OberonPrefs.doc
OberonPrefs.doc.info OberonPrefs.dok
OberonPrefs.dok.info OberonPrefs.info
obj.info OLink.Prefs
Rexx.info s.info
sym.info txt.info
Installationshinweise:
----------------------
Die Installation übernimmt das Installationsskript. Es kopiert OberonPrefs
und die Dokumentation ins OBERON:-Verzeichnis, und speichert die Kataloge
aus dem catalogs-Verzeichnis ins LOCALE:-Verzeichnis, falls sie Workbench
2.1 oder höher installiert haben. Das Installationsskript installiert auf
Wunsch auch die CygnusEd-ARexx-Skripte, mit denen Sie Amiga-Oberon
komfortabel von CygnusEd aus steuern können.
Falls Sie OberonPrefs häufig verwenden, sollten Sie in ihre S:User-Startup-
Datei den Befehl 'resident Oberon:OberonPrefs' einbauen.
Die interaktive grafische Benutzerschnittstelle:
------------------------------------------------
-------
Gadgets
-------
Außer den Gadgets, mit denen die verschiedenen Compiler-/ Linker-Optionen
eingestellt werden, und die hier nicht weiter beschrieben werden, da die
Bedeutungen der einzelnen Optionen im Handbuch erschöpfend erklärt sind,
sind normalerweise folgende Gadgets vorhanden:
Modus-Gadget - mit ihm wird der Operationsmodus eingestellt:
Global : die globalen Compiler-/ Linker-Optionen werden verändert.
Projekt: Projekt-/ Oberon-Quelltext-Modul-spezifische Optionen werden
verändert.
*1*
Projekt-Anzeige-Gadget - Im Projekt-Modus wird hier der Name des gerade
manipulierten Oberon-Quelltext-Moduls angezeigt. Falls der Gadget-Name
ein unterstrichenes Zeichen enthält, wirkt ein Druck auf die entsprechende
Taste wie die Aktivierung des Datei-Gadgets.
Datei-Gadget - falls es aktiviert wird, erscheint ein
Datai-Auswahl-Eingabefeld (Filerequester), in dem ein neues Projekt
ausgewählt werden kann. Wenn die Eingabe bestätigt wird, versucht
OberonPrefs, das Projekt zu öffnen. Wird die selektierte Datei als
Oberon-Quelltext-Modul erkannt, dann springt OberonPrefs in den Projekt-
Modus und liest die zum Projekt gehörigen Optionen gemäß den
Einstellungen im Einstellungen-Menü ein.
*1*
Speichern-Gadget - Falls im Projekt-Modus kein Dateiname angegeben
ist, erscheint zuerst ein Datei-Auswahl-Eingabefeld (Filerequester),
in dem das Projekt, für das die Optionen zu speichern
sind, eingegeben werden soll. Existiert die Datei nicht oder
ist sie kein Oberon-Quelltext-Modul, so wird der Vorgang abgebrochen.
Andernfalls / anschließend werden die eingestellten Optionen nach Maßgabe
der Einstellungen im Einstellungen-Menü abgespeichert, _ohne_ OberonPrefs
zu verlassen (Konzeptions-Entscheidung, wegen der zwei Operationsmodi und
der Möglichkeit, verschiedene Projekt-Einstellungen zu manipulieren!).
Falls eines der Kommandozeilen-/ ToolTypes-Argumente OBERONOUT, OLINKOUT
oder OMAKEOUT angegeben wird, wird OberonPrefs dagegen nach dem
Abspeichern verlassen, da dann keine Umstellung des Operationsmodus /
des bearbeiteten Projektes möglich ist.
*2*
Abbrachen-Gadget - verläßt OberonPrefs ohne mögliche Änderungen
abzuspeichern.
*1*
Benutzen-Gadget - Beendet OberonPrefs, ohne die gewählten Optionen zu
speichern, gibt die gewählten Optionen aber entsprechend des
vorhandenen #?OUT-Argumentes aus.
*3*
Schließ-Gadget - Funktion entspricht derjenigen des Abbrechen-Gadgets.
Tastaturäquivalent: ESC-Taste
ZoomGadget - verkleinert ('iconify') das Fenster von OberonPrefs resp.
setzt es zurück auf seine ursprüngliche Größe.
Tastaturäquivalent: 'Z'-Taste
Alle Gadgets, deren Titel ein unterstrichenes Zeichen aufweisen, können
auch durch einen Druck auf die entsprechende Taste betätigt werden.
*1* : Ist nicht vorhanden, falls eines der Argumente OBERONOUT, OLINKOUT
oder OMAKEOUT beim Programmstart übergeben wird.
*2* : Ist nicht vorhanden, falls eine der Optionen OBERONOUT, OLINKOUT oder
OMAKEOUT in Verbindung mit NOSAVEGAD beim Programmstart übergeben
werden.
*3* : Ist nur vorhanden, falls eines der Argumente OBERONOUT, OLINKOUT
oder OMAKEOUT beim Programmstart übergeben wird.
-----
Menüs
-----
Projekt-Menü:
Neu - Setzt die Optionen auf die programminternen ('Default') Werte
von Amiga-Oberon zurück und löscht den Projektnamen, falls der
Projekt-Modus aktiv ist.
*1*
Öffnen... - Die Funktion entspricht derjenigen des Datei-Gadgets.
*1*
Speichern Als... - Öffnet ein Datei-Auswahl-Eingabefeld (Filerequester),
speichert, wenn der Name eines existierenden Oberon-Quelltext-Moduls
eingegeben wurde, die eingestellten Optionen als Projekt-Optionen
dieses Projektes und springt in den Projekt-Modus falls der globale
Modus aktiv ist.
*1*
Global Speichern - Speichert die eingestellten Optionen als globale
Voreinstellungen und springt in den globalen Modus, falls der
Projekt-Modus aktiv ist.
*1*
Information... - Öffnet ein Informations-Fenster mit Angaben über
OberonPrefs.
In der letzten Zeile wird dabei der Code für die gegenwärtigen
Programm-Einstellungen im Einstellungen-Menü angezeigt, der
nach ENVARC:OberonPrefs.prefs als Ganzzahl-String geschrieben
bzw. als SETTINGS/N/K-Argument beim Programmstart übergeben
werden kann, um die gegenwärtigen Programm-Einstellungen wieder
zu erhalten.
*1*
Beenden - Die Funktion entspricht derjenigen des Abbrechen-Gadgets.
Vorgaben-Menü:
Auf Vorgaben Zurücksetzen - setzt die Optionen auf die programminternen
('Default') Werte von Amiga-Oberon zurück.
Auf Zuletzt Global Gespeichertes - setzt die Optionen auf die zuletzt
gespeicherten globalen Voreinstellungen (bzw. auf die programminternen
'Default'-Voreinstellungen des Amiga-Oberon-Systems, falls keine
globalen Voreinstellungen existieren).
Voreinstellungen Von Projekt... - öffnet ein Datei-Auswahl-Eingabefeld,
und, liest, falls der Name eines existierenden Oberon-Quelltext-Moduls
eingegeben wurde, die Voreinstellungen aus diesem Projekt ohne
den Modus und / oder den Projektnamen zu ändern.
Neu Einlesen - liest die Optionen neu ein (='Restore'-Funktion)
Einstellungen-Menü:
Piktogramme Erzeugen? - falls aktiv erzeugt OberonPrefs Piktogramme
für Projekte, die keine Piktogramme besitzen. Die Piktogramm-Daten
werden dabei aus OBERON:Icons/txt.info zu lesen versucht, Falls das
nicht klappt, werden die Daten des Default-System-Projekt-Piktogramms
verwendet.
*1*
Vorgaben-Optionen Speichern? - falls aktiv werden beim Speichern der
Voreinstellungen auch diejenigen Optionen abgespeichert, die den
programminternen ('Default') Voreinstellungen von Amiga-Oberon
entsprechen.
*1*
Projekt-Einstellungen Lesen-Untermenü:
Die Einstellungsmöglichkeiten dieses Untermenüs beeinflussen, wie
OberonPrefs beim Einlesen der Voreinstellungen von Projekten vorgeht.
Zunächst kann der Benutzer zwischen vier verschiedenen Arten wählen:
Modul & Prefs - falls aktiv liest OberonPrefs die Voreinstellungen
zuerst aus einer möglicherweise von OberonPrefs angelegten Kopf-
zeile am Anfang des Oberon-Quelltext-Moduls. Dabei werden
vorhandene, mit den Schlüsselworten OberonOpts / OLinkOpts versehene
Buchstaben-Optionen (entsprechen den Kommandozeilen-Optionen nach
'-') gelesen. Danach versucht OberonPrefs, Oberon.prefs-/
OLink.prefs-Voreinstellungsdateien heranzuziehen. Schließlich werden
auch von OberonPrefs geschriebene Quelltextoptionen ($Option(+|-))
aus einer vorhandenen OberonPrefs-Kopfzeile aus dem
Oberon-Quelltext-Modul berücksichtigt.
Modul (Ohne Buchst.-Optionen) & Prefs - entspricht aktivem
'Modul & Prefs' mit der Ausnahme, daß die hinter den Schlüsselworten
OberonOpts / OLinkOpts folgenden Buchstaben-Optionen beim Einlesen
ignoriert werden. Dies ist die programminterne ('Default')
Einstellung von OberonPrefs, da sie der normalen Vorgehensweise des
Amiga-Oberon-Systems entspricht.
Nur Modul - berücksichtigt nur die Informationen aus einer OberonPrefs-
Kopfzeile am Anfang des Oberon-Quelltext-Moduls, einschließlich
Buchstabenoptionen und Quelltextoptionen.
Nur Prefs - berücksichtigt nur Informationen aus den Oberon.prefs /
OLink.prefs - Voreinstellungsdateien.
Weiterhin steht noch ein Schalter zur Verfügung, der festlegt, wie die
(Oberon|OLink).prefs- Voreinstellungsdateien eingelesen werden:
Prefs: Global Lesen Möglich? - falls aktiv versucht OberonPrefs bei
nicht vorhandenen Voreinstellungsdateien im Projekt-Verzeichnis,
die globalen Voreinstellungsdateien im Verzeichnis OBERON: zu lesen.
Dies entspricht der programminternen ('Default') Einstellung von
OberonPrefs, da auch das Amiga-Oberon-System so vorgeht.
Projekt-Einstellungen Schreiben-Untermenü:
Mit den Menüpunkten dieses Untermenüs kann der Benutzer festlegen, wie
OberonPrefs beim Schreiben von Projekt-Voreinstellungen vorgeht. Folgende
Schalter sind vorhanden:
*1*
Stapelbare Optionen Als Quelltext? - falls aktiv schreibt OberonPrefs
auch diejenigen Optionen, die über Buchstaben-Optionen in der
Kommandozeile und die Voreinstellungsdateien eingestellt werden
können und auch als Quelltext-Optionen dem Amiga-Oberon-System
bekannt sind, als Quelltextoptionen in die OberonPrefs-Kopfzeile des
Oberon-Quelltext-Moduls. Dies entsprach bis OberonPrefs 1.9 der
programminternen Voreinstellung von OberonPrefs. In den neueren
Versionen von OberonPrefs ist die programminterne Voreinstellung,
dies zu unterlassen.
*1*
Buchstaben-Optionen Schreiben? - falls aktiv schreibt OberonPrefs
die Buchstaben-Optionen für den Compiler- / Linker-Aufruf in die
OberonPrefs-Kopf-Zeile des Oberon-Quelltext-Moduls. Früher war dies
programminterne Voreinstellung bis OberonPrefs 1.9; in den neueren
Programmversionen von OberonPrefs ist dieser Menüpunkt dagegen
aufgrund der programminternen Voreinstellung von OberonPrefs
deaktiviert.
*1*
Weiterhin kann mit diesem Untermenü eine von vier Arten ausgewählt werden,
wie OberonPrefs (Oberon|OLink).prefs-Voreinstellungsdateien beim Speichern
behandelt:
Prefs Mit Optionen Schreiben - falls aktiv schreibt OberonPrefs
die Voreinstellungsdateien mit den gewählten Optionen ins Projekt-
Verzeichnis. (Programminterne Voreinstellung von OberonPrefs)
*1*
Leere Optionen Schreiben - falls aktiv schreibt OberonPrefs leere
Voreinstellungsdateien ins Projekt-Verzeichnis. Dies ist nützlich,
wenn das Amiga-Oberon-System ohne Berücksichtigung der
(Oberon|OLink).prefs- Voreinstellungsdateien arbeiten soll, da
so verhindert wird, daß irgendwelche Informationen aus den
Voreinstellungsdateien, auch nicht aus den globalen im OBERON:-
Verzeichnis, verwendet werden.
*1*
Keine Prefs Schreiben - falls aktiv ignoriert OberonPrefs vorhandene
(Oberon|OLink).prefs- Voreinstellungsdateien im Projekt-Verzeichnis
und schreibt auch keine Voreinstellungsdateien. Nützlich, falls
nur die Optionen eines Oberon-Quelltext-Moduls im Projekt-Verzeichnis
geändert wurden, und diese Änderungen nicht für die anderen
Oberon-Quelltext-Module im Projekt-Verzeichnis gelten sollen.
*1*
Prefs Löschen - falls aktiv, löscht OberonPrefs vorhandene
Voreinstellungsdateien im Projektverzeichnis, und schreibt keine
solchen zurück.
*1*
Schließlich kann hier noch der Modus eingestellt werden, wie OberonPrefs
Options-ToolTypes von Projekt-Piktogrammen handhaben soll:
ToolTypes Schreiben - falls aktiv schreibt OberonPrefs die aktuellen
Optionen als ToolTypes in die Projekt-Piktogramme. Dies war
bis einschließlich OberonPrefs 1.9 grundsätzlich der Fall. Falls
beim Programmstart ein 'alter' SETTINGS-Wert von OberonPrefs <=
V1.9 als SETTINGS/N/K-Argument übergeben wird oder aus
ENVARC:OberonPrefs.prefs gelesen wird, ist dies aus Kompatibilitäts-
gründen auch bei neueren OberonPrefs-Versionen die Voreinstellung.
*1*
ToolTypes Ignorieren - falls aktiv ignoriert OberonPrefs eventuell
bestehende Options-ToolTypes in Projekt-Piktogrammen und schreibt
auch keine eigenen ToolTypes. (Programminterne Voreinstellung von
OberonPrefs ab OberonPrefs 1.10)
*1*
ToolTypes Löschen - falls aktiv löscht OberonPrefs eventuell bereits
bestehende Options-ToolTypes in Projekt-Piktogrammen, schreibt jedoch
keine eigenen ToolTypes in die Projekt-Piktogramme zurück.
*1*
Einstellungen Speichern - dieser Menüpunkt speichert die im Einstellungen-
Menü von OberonPrefs gemachten Einstellungen ab, so daß sie bei jedem
zukünftigen Programmstart von OberonPrefs wieder gesetzt werden. (Das
Kommandozeilen-/ ToolTypes-Argument SETTINGS/N/K überschreibt diese
Einstellungen)
*1*
*1* : Ist nicht vorhanden, falls eines der Argumente OBERONOUT, OLINKOUT
oder OMAKEOUT beim Programmstart übergeben wird.
-----------------------------------------
Piktogramm-Ziehen ins OberonPrefs-Fenster
-----------------------------------------
Weiterhin können in das OberonPrefs-Fenster Piktogramme gezogen werden.
Die Funtion entspricht dabei der des Datei-Gadgets.
*1*
*1* : Ist nicht vorhanden, falls eines der Argumente OBERONOUT, OLINKOUT
oder OMAKEOUT beim Programmstart übergeben wird.
Kommandozeilen- / ToolTypes-Argumente:
--------------------------------------
Die Argument-Schablone von OberonPrefs lautet:
FROM,TO=FILE,OBERONOPTS/K,OLINKOPTS/K,EDIT/S,USE=SAVE/S,OBERONOUT/S,
OLINKOUT/S,OMAKEOUT/S,GLOBAL/S,LOCAL/S,PUBSCREEN/K,NOGUI/S,NOSAVEGAD/S,
SETTINGS/N/K,
NoStackChk=S/S,NoOvflChk=V/S,NoRangeChk=B/S,NoCaseChk=C/S,NoReturnChk=R/S,
NoNilChk=N/S,OddChk=O/S,NoTypeChk=T/S,SmallCode=M/S,SmallData=D/S,
NoImplementation/S,NoGarbageCollector=A/S,NoExtensions=E/S,Debug=G/S,
NoClearVars=Z/S,Icons=I/S,NoNewSymbols=Y/S,Small/S,mc68881=8/S,
NoAutoRegPars=P/S,CodeChip/S,DataChip/S,VarsChip/S,mc68030=3/S,
mc68020=2/S,mc68010=1/S
Die Argumente im einzelnen:
FROM - Dateiname des Projektes, dessen Voreinstellungen eingelesen werden
sollen. Es existieren zwei spezielle Namen, sogenannte 'Magics':
Global - liest die globalen Voreinstellungen ein. (Voreinstellung, falls
dieses Argument ausgelassen wird)
Default - liest die programminternen Voreinstellungen des Amiga-Oberon-
Systems ein.
Die Verwendung der Schalter LOCAL/S u./o. USE=SAVE/S bewirkt, daß bei
nicht vorhandenem TO=FILE-Argument, und falls das FROM-Argument kein
'Magic' ist, das FROM-Argument als TO=FILE-Argument übernommen wird.
TO=FILE - Dateiname des Projektes, das bearbeitet werden soll. Die Angabe
dieses Argumentes impliziert den Schalter LOCAL/S, und schließt die
Benutzung des Schalters GLOBAL/S aus.
OBERONOPTS/K,OLINKOPTS/K - siehe weiter unten.
EDIT/S - Schalter, der angibt, daß OberonPrefs im interaktiven Modus
arbeiten soll. Da dies die programminterne ('Default') Einstellung
von OberonPrefs ist, kann er immer weggelassen werden. Die Verwendung
von EDIT/S schließt diejenige der Schalter USE=SAVE/S und NOGUI/S
aus.
USE=SAVE/S - Schalter, der angibt, daß OberonPrefs die gelesenen
Voreinstellungen speichern soll, ohne die interaktive Benutzer-
schnittstelle zu aktivieren. Schließt die Verwendung von EDIT/S aus,
und setzt voraus, daß bei aktivem Projekt-Modus ein existierender
Projektname als TO=FILE-Parameter angegeben ist (der auch vom FROM-
Parameter übernommen werden kann, s.o.)
OBERONOUT/S
OLINKOUT/S
OMAKEOUT/S - Diese Schalter schließen sich gegenseitig aus, und bewirken,
daß OberonPrefs bei ordnungsgemässer Beendigung den Kommandozeilen-
Optionsstring mit den Buchstabenoptionen für Oberon / OLink / OMake
ausgibt. Diese Argumente sind äußerst wichtig für die Verwendung von
OberonPrefs in Stapelverarbeitungsdateien und ARexx-Skripten.
Die grafische Benutzerschnittstelle von OberonPrefs wird durch diese
Argumente außerdem verändert:
Es ist nicht mehr möglich, den Operations-Modus (Global / Projekt)
zu ändern, außerdem kann kein anderes Projekt als das angegebene
verändert werden, und die Einstellmöglichkeiten im Einstellungen-
Menü sind auf die Menüpunkte des Untermenüs 'Projekt-Voreinstel-
lungen lesen' beschränkt. Anstelle des 'Abbrechen'-Gadgets
erscheint ein 'Benutzen'-Gadget (Die Funktion des Abbrechen-Gadgets
kann natürlich weiterhin mit dem Schließ-Gadget und dem Menüpunkt
'Projekt->Beenden' erreicht werden), resp. bei angegebenem NOSAVEGAD/S-
Schalter wird das 'Speichern'-Gadget durch ein 'Benutzen'-Gadget
ersetzt. In diesem Fall kann die Funktion Speichern nicht mehr
erreicht werden.
GLOBAL/S - Dieser Schalter setzt den globalen Operationsmodus
(Voreinstellung von OberonPrefs). Inkompatibel mit den Argumenten
TO=FILE und LOCAL/S.
LOCAL/S - Dieser Schalter setzt den Projekt-Operationsmodus. Inkompatibel
mit GLOBAL/S. Wird automatisch gesetzt bei angegebenem TO=FILE-Argument
oder bei angebenem Nicht-'Magic'-FROM-Argument und angegebenem
USE=SAVE/S-Schalter.
PUBSCREEN/K - Hier kann der Name des öffentlichen Schirms angegeben werden,
auf dem das Fenster der grafischen Benutzerschnittstelle geöffnet werden
soll. Falls der angegebene Schirm nicht existiert, wird auf den System-
Default-Schirm ausgewichen (was die programminterne Voreinstellung von
OberonPrefs ist).
NOGUI/S - Dieser Schalter ist nur sinnvoll bei Verwendung einer der Schalter
OBERONOUT/S, OLINKOUT/S oder OMAKEOUT/S. Er bewirkt, daß bei nicht
gesetztem USE=SAVE/S-Schalter die grafische Benutzerschnittstelle trotzdem
nicht geöffnet wird, sondern nur die jeweiligen Voreinstellungen eingelesen
werden und entsprechend dem angegebenen #?OUT/S-Schalters der Optionsstring
ausgegeben wird. Weiterhin ist die Verwendung dieses Schalters immer dann
erlaubt (aber ohne Auswirkung), wenn zugleich der USE=SAVE/S-Schalter
angegeben wird.
NOSAVEGAD/S - Dieser Schalter ist nur bei angegebenm #?OUT/S-Schalter und bei
Verwendung der grafischen Benutzerschnittstelle erlaubt. Seine Auswirkungen
sind in der Dokumentation der #?OUT/S-Schalter beschrieben.
SETTINGS/N/K - Hier wird die Angabe einer gültigen Dezimalzahl erwartet, die
dekodiert gültige Einstellungen im Einstellungen-Menü von OberonPrefs
liefert.
Die gewünschte Zahl kann leicht ermittelt werden, indem man
innerhalb der grafischen Benutzerschnittstelle die Einstellungen auf den
gewünschten Wert ändert und dann das Informationsfenster mit dem Menü-
punkt Projekt->Information... öffnet. In der letzten Zeile dieses
Fensters ist dann der Code für die gegenwärtigen Einstellungen zu
finden.
*1*
Die restlichen Argumente dienen dazu, einzelne Compiler-/ Linker-Optionen zu
setzen/löschen:
OBERONOPTS/K: - erwartet die Angabe eines gültigen Optionsstrings für
den Oberon-Compiler, bestehend aus einem optionalen '-', gefolgt von den
einzelnen Buchstaben-Optionen.
OLINKOPTS/K: - erwartet die Angabe eines gültigen Optionsstrings für OLink,
bestehend aus einem optionalen '-', gefolgt von den einzelnen Buchstaben-
Optionen.
NoStackChk=S/S,NoOvflChk=V/S,NoRangeChk=B/S,NoCaseChk=C/S,NoReturnChk=R/S,
NoNilChk=N/S,OddChk=O/S,NoTypeChk=T/S,SmallCode=M/S,SmallData=D/S,
NoImplementation/S,NoGarbageCollector=A/S,NoExtensions=E/S,Debug=G/S,
NoClearVars=Z/S,Icons=I/S,NoNewSymbols=Y/S,Small/S,mc68881=8/S,
NoAutoRegPars=P/S,CodeChip/S,DataChip/S,VarsChip/S,mc68030=3/S,
mc68020=2/S,mc68010=1/S - setzt / löscht jeweils eine einzelne Option.
*1* : Ist nicht vorhanden, falls eines der Argumente OBERONOUT, OLINKOUT
oder OMAKEOUT beim Programmstart übergeben wird.
Benutzerdefinierbare interaktive Argument-Abfrage beim Programmstart:
---------------------------------------------------------------------
OberonPrefs bietet Ihnen beim Workbench-Start in Verbindung mit ToolTypes-
Argumenten die Möglichkeit, sich einzelne, mehrere oder alle Argumente
durch interaktive Argument-Eingabefenster ('Argument-Requester') zu
beschaffen, falls Sie in Ihrem System die reqtools.library Version 38 oder
höher istalliert haben. Dazu müssen Sie für die Argumente, für die solche
Eingabe-Fenster erscheinen sollen, gültige ToolType-Einträge anlegen, deren
Namen Sie ein 'ASK:' vorstellen müssen. Also etwa 'Ask:Settings=971', o.ä.
Programmende & Rückgabewerte
----------------------------
Falls OberonPrefs mittels des Speichern-Gadgets, des Benutzen-Gadgets oder
durch die entsprechenden Tastaturäquivalente verlassen wird, terminiert
OberonPrefs mit einem Rückgabewert 0 (OK). Wenn die grafische
Benuzterschnittstelle aufgrund der übergebenen Argumente nicht geöffnet
wird, und OberonPrefs ordnungsgemäß terminiert, wird ebenfalls 0
zurückgegeben. Im anderen Fall, falls OberonPrefs durch den
Projekt->Beenden-Menüpunkt, durch das Schließgadget, durch Drücken der
ESC-Taste, durch das Cancel-Gadget oder das zugehörige Tastaturäquivalent
beendet wird, liefert es den Rückgabewert 5 (WARN). In allen anderen
Fällen - wenn also OberonPrefs aufgrund fehlerhafter Argumente oder
aufgrund von für OberonPrefs ungenügenden System-Ressourcen terminiert,
liefert es den Rückgabewert 20 (FAIL), gibt, wenn nicht einer der Schalter
OBERONOUT/S, OLINKOUT/S oder OMAKEOUT/S spezifiziert wurde, eine
entsprechende Meldung auf dem aktuellen Ausgabekanal aus und läßt zusätlich
den Bildschirm aufflackern, falls es von der Workbench aus gestartet wurde.
Allgemeine Hinweise zum Programm
--------------------------------
Als gültige Projekte werden nur solche Projekte erkannt, deren Namen
auf '.mod' endet und die keine Binärdaten enthalten. OberonPrefs hat
aber wie der Amiga-Oberon-Compiler die Fähigkeit, das '.mod'-Suffix
automatisch an einen spezifizierten Dateinamen anzuhängen und
außerdem, falls das Oberon-Quelltext-Modul im angegebenen Verzeichnis
nicht gefunden werden konnte, im Unterverzeichnis 'txt' nach ihm zu
suchen.
Durch das Konvertieren von Projekt-Voreinstellungen nach globalen
Voreinstellungen, oder dem Nur-Einlesen der #?.prefs-Voreinstellungs-
dateien bei Projekten gehen mögliche CodeChip+, DataChip+, VarsChip+
und Implementation- - Einstellungen verloren, da diese nur in
Oberon-Quelltext-Moduen gespeichert werden können.
Eine Bemerkung zum verwendeten ToolTypes-Parsing: Es wird das mächtige
ToolTypes-Parsing aus BlackMagic verwendet, das AmigaDOS-ReadArgs()-
Schablonen erschöpfend unterstützt und das geniale 'Argument-Request'
bietet.
----------------------------------------
Vermeiden des Veränderns des Quelltextes
d.h. Anlegen/Ändern der OPREFS-Kopfzeile
----------------------------------------
Falls Sie das Schreiben von OPREFS-Kopfzeilen auf Dauer vermeiden wollen,
sollten Sie die Menüpunkte
* Einstellungen->Vorgaben-Optionen·Speichern?
sowie
* Einstellungen->Projekt-Einstellungen·Schreiben->Stapelbare·Optionen·
Als·Quelltext?
und
* Einstellungen->Projekt-Einstellungen·Schreiben->Buchstaben-Optionen·
Schreiben?
deaktivieren und diese Einstellungen mit Hilfe des Menüpunktes
* Einstellungen->Einstellungen·Speichern
für Ihr System als Voreinstellungen abspeichern.
* Ab OberonPrefs 1.10 entspricht dies den programm- *
* internen Voreinstellungen ('Defaults') von OberonPrefs *
Entwicklungsgeschichte
----------------------
v1.0 [fSchwarz] 28.6.93 First fully functional version
v1.1 [fSchwarz] 4.7.93 Removed stupid bug in argument
processing order: processed SETTINGS after FROM & TO
v1.2 [fSchwarz] 6.7.93 Added display clip sensitivity
when rendering x/y positions, pr.windowPtr redirection
v1.3 [fSchwarz] 6.7.93 Added warning requester for
filenames not ending in '.mod', changed requester code
v1.4 [fSchwarz] 9.7.93 Added 'OberonPrefs failed' msg &
Int.DisplayBeep() in case of failure, Dos.IoErr support
v1.5 [fSchwarz] 16.7.93 Fixed Asl.save-Flag FReq bug
v1.6 [fSchwarz] 17.7.93 Removed ~'.mod' warn requester,
adapted filename handling to Oberon's (add missing
'.mod' suffix, search in 'txt' subdirectory)
v1.7 [fSchwarz] 21.7.93 Adapted to new BlackMagic layout
v1.8 [fSchwarz] 14.8.93 Recompiled with BlackMagic 1.10:
now argument requesters may pop up if wbstarted
v1.9 [fSchwarz] 9.9.93 fixed mc680x0 option management
due to very strange compiler feature: Enabling 68030
instruction generation does NOT imply generation of
68020/68010 instructions, etc.
v1.10 [fSchwarz] 10.9.93 Added user control of Project-
ToolTypes writing via Settings menu; changed default
settings so that usually no source writes are needed.
v1.11 [fSchwarz] 13.9.93 Minor cosmetic code changes,
now works well with a NIL Asl.base, added
complete English docs, corrected German docs, updated
strings.
v1.11a [fSchwarz] 17.9.93 Added Busypointer & window
blocking during writing / reading operations (suggested
by Christian Stiens)
v1.11b [fSchwarz] 18.9.93 now also locked GUI during
ValidateFName() due to packing filesys like XFH, etc.
v1.11c [fSchwarz] 18.9.93 DisplayBeeps if ValidateFName()
fails in interactive mode.
v1.11d [fSchwarz] 20.9.93 Now writes OLink.prefs options
in complete upper case.
v1.11e [fSchwarz] 30.9.93 Now uses smartRefresh window,
adapted to Hartmut Goebel's OS3.0-interface modules,
removed FReq-Hook (due to frequently used braindead
broken ASL-patches)
v2.0 [fSchwarz] 8.10.93 Enhanced window locking with
new BlackMagic1.12. Improved AppWindow icon dropping
feature: Project-FileRequester pops up if the dropped
icon is no valid Oberon source code module. Since no
bugs showed up despite deep, thoroughgoing testing,
debug code defaults to off, all runtime code checks
are disabled, so maximum performance is guaranteed and
minimum code size is ensured. Thus, as this version is
considered to be 'final', major revision count has been
incremented to 2.
Schlußbemerkungen
-----------------
OberonPrefs wird mit Quelltext veröffentlicht. Er verdeutlicht die
Vielseitigkeit des BlackMagic-Moduls und seine Nützlichkeit beim Kreiren
von Amiga User Interface Style Guide-konformen Applikationen.
Bugs (Programmfehler): Zum Zeitpunkt des Verfassens dieser Dokumentation
sind dem Autor keinerlei Fehlfunktionen dieses Programms bekannt. Bei dem
Umfang dieses Programms ist jedoch der eine oder andere Bug grundsätzlich
nicht auszuschließen!
OberonPrefs ist Giftware. Das heißt, ich ermuntere Sie, mir, falls Sie
sich für das Programm begeistern können, als Anerkennung ein kleines
Geschenk, eine Spende, eine nette Postkarte, o.ä. zukommen zu lassen.
Auch jedwede Kritik, Änderungsvorschläge, natürlich Bugreports
(Fehlerberichte), etc. sind herzlich willkommen.
Falls Sie die deutsche Dokumentation in andere Sprachen übersetzen, oder
Katalog-Dateien für andere Sprachen als Deutsch erstellen, so können Sie
diese gerne diesem Archiv hinzufügen und mir zusenden. Vielen Dank!
OberonPrefs ist urheberrechtlich geschützt. Copyright © 1993 Franz Schwarz.
Der Autor haftet für keinerlei Schäden, die unmittelbar oder mittelbar, vom
Gebrauch dieses Programms herrühren.
OberonPrefs ist frei kopierbar; es darf auf der Amok-Serie und auf anderen
nicht-kommerziellen Disketten-Serien vertrieben werden, inklusive
CD-ROM-Versionen derselben, ebenfalls darf es auf dem Weg der
elektronischen Datenübertragung verbreitet werden.
OberonPrefs darf nur in diesem Archiv komplett verbreitet werden.
Weiterhin darf es nur verbreitet werden, falls der Vertreiber kein
Urheberrecht auf das Archiv noch auf Dateien, die zwangsweise mit ihm
übertragen werden, erhebt. Anfragen auf Ausnahmen von diesen
Beschränkungen können an den Autor gerichtet werden.
Sie erreichen mich folgendermaßen:
----------------------------------
Franz Schwarz
Mühlenstraße 2, D-78591 Durchhausen,
BR Deutschland
Uucp: Franz_Schwarz@mil.ka.sub.org
Fido: 2:2476/506.18 & 2:241/7506.18
Kto. 951.207 bei BLZ 643 500 70 KSK Trossingen
Credits, Danksagungen
---------------------
Die grafische Benutzerschnittstelle wurde erstellt mit Hilfe von
GadToolsBox 37.176 by Jan van der Baard und Kai Bolay (Oberon source
generator). Ohne GadToolsBox hätte es wohl OberonPrefs nie gegeben.
Einen galaktischen Donnergurgler-Toast auf die beiden;-)
Die CygnusEd-Skripte benutzen Kai Bolay's oberonsupport.library, und
Teile der Skripte stammen ebenfalls aus seiner Feder.
Die reqtools.library, von der OberonPrefs Nutzen ziehen kann, wurde
geschrieben von und ist urheberrechtlich geschützt durch Nico François,
jedoch frei vertreibbar, falls genau dies in der programmbegleitenden
Dokumentation erwähnt wird.
Viel Spaß!
Franz 'Blacky' Schwarz.
Die CygnusEd - ARexx - Skripte
------------------------------
Die CygnusEd-ARexx-Skripte ermöglichen eine komfortable Steuerung des
Amiga-Oberon-Systems von CygnusEd Professional aus. Die folgende
Kurzanleitung geht davon aus, dass die beiliegende Funktionstasten-
belegung in CyngusEd aktiviert ist.
F1 - Compile: Ruft den Compiler auf. Falls das Modul verändert wurde
und noch nicht gespeichert ist, wird es vor dem Complieren gespeichert.
Zeigt den ersten Fehler an, falls Fehler beim Compilieren auftraten.
F2 - Link: Ruft den Linker auf.
F3 - Make: Ruft OMake auf. Falls das Modul verändert wurde und noch nicht
gespeichert ist, wird es vor dem Aufruf von OMake gespeichert.
Compile, Link, als auch Make verwenden dabei folgende Compiler-/ Linker-
Optionen: falls von einem Aufruf von 'F7 - Change Temporary Options' her
gültige temporäre Einstellungen existieren, werden diese verwendet.
Ansonsten werden die Optionen von OberonPrefs mit aktiviertem
'Einstellungen->Projekt-Einstellungen Lesen->Modul & Prefs' und
'Einstellungen->Projekt-Einstellungen Lesen->Prefs: Global Lesen Möglich?'
eingelesen.
F4 - First Error: Springt zum ersten Fehler
F5 - Next Error : Springt zum nächsten Fehler vom Cursor aus gesehen.
F6 - Prev. Error: Springt zum vorhergehenden Fehler vom Cursor aus gesehen.
F7 - Change Temporary Options: Setze / lösche temporäre Optionen für ein
Modul. Falls das Modul verändert wurde und noch nicht gespeichert ist,
wird es vor dem Aufruf von OberonPrefs gespeichert.
F8 - Change Options: Unbeschränktes Manipulieren von Optionen beliebiger
Projekte und der globalen Optionen mit OberonPrefs. Falls der gegenwärtig
edierte Text ein Oberon-Quelltext-Modul ist, das verändert wurde und noch
nicht gespeichert ist, wird es vor dem Aufruf von OberonPrefs gespeichert.
Wenn sie die Optionen des gegenwärtig edierten Moduls geändert und
gespeichert haben, sollten Sie das Modul mit dem CygnusEd-Menüpunkt
Project->Open... nach Beendigung von OberonPrefs neu einlesen.
Falls Sie die ARexx-Skripte regelmäßig verwenden, ist dringend zu
empfehlen, OberonPrefs mit 'Resident OBERON:OberonPrefs' resident in den
Speicher zu laden.
Für weitere Infos über die Rexx-Steuerung genügt ein Blick auf die
ARexx-Skripte.
Bye,
Franz 'Blacky' Schwarz
- Girlfriend Is Better - Talking Heads -